package practico.entidades;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="usr")
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Usuario {
	

    @Id
    @Column(name = "usr_id")
    @SequenceGenerator(name = "seq_usr", sequenceName = "seq_usr", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_usr")
	private int id;
	@Column(name="usr_usr")
	private String usuario;
	@Column(name="usr_pwd")
	private String password;

	@Column(name="usr_nom")
	private String nombre;
	@Column(name="usr_ape")
	private String apellido;

    @OneToMany(mappedBy="cliente")
    private List<Pedido> pedidosRealizados= new ArrayList<Pedido>();

	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Usuario(int id, String usuario, String password, String nombre,
			String apellido, List<Pedido> pedidosRealizados) {
		super();
		this.id = id;
		this.usuario = usuario;
		this.password = password;
		this.nombre = nombre;
		this.apellido = apellido;
		this.pedidosRealizados = pedidosRealizados;
	}
	public Usuario() {
	}
	
	

}
